package game;

import game.actions.Action;
import game.actions.BetAction;
import game.actions.CardExchangeAction;
import game.actions.GetMoneyAction;
import game.actions.IncrementAnteAction;
import game.actions.PlayerRemovedAction;
import game.actions.ScoreAction;
import game.actions.ScoreRevealAction;
import game.exceptions.InvalidUpdateException;

import java.util.ArrayList;

/**
 * 
 * @author Gen Kazama and David Kawrykow
 * 
 * This class contains every action that can occur in one match.
 * GameStats uses this to keep statistics on the whole game.
 *
 */

public class MatchStats{
	
	 private ArrayList <BetAction> preExchangeBets;
	 private ArrayList <PlayerRemovedAction> antePlayersRemoved;
	 private ArrayList <CardExchangeAction> cardExchange;
	 private ArrayList <BetAction> postExchangeBets;
	 private ArrayList <ScoreRevealAction> revealCards;
	 private ArrayList <PlayerRemovedAction> revealPlayersRemoved;
	 private ArrayList <GetMoneyAction> getMoney;
	 private ArrayList <ScoreAction> scoreAction;
	 private IncrementAnteAction anteAction;
	 
	 private ArrayList<Action> matchActions;
	 
	 public MatchStats()
	 {
		 preExchangeBets=new ArrayList <BetAction>();
		 cardExchange=new ArrayList <CardExchangeAction>();
		 postExchangeBets=new ArrayList <BetAction>();
		 revealCards=new ArrayList <ScoreRevealAction>();
		 antePlayersRemoved=new ArrayList <PlayerRemovedAction>();
		 getMoney=new ArrayList<GetMoneyAction>();
		 revealPlayersRemoved = new ArrayList<PlayerRemovedAction>();
		 scoreAction=new ArrayList<ScoreAction>();
		 
		 matchActions = new ArrayList<Action>();
	 }
	 
	
}
